package org.jeecg.modules.monitoring.j_monitoring.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.monitoring.j_monitoring.entity.MGlVirtualMachine;

import java.util.List;

/**
 * @Description: 虚拟机(管理)
 * @Author: xiaoyq
 * @Date:   2023-02-22
 * @Version: V1.0
 */
public interface IMGlVirtualMachineService extends IService<MGlVirtualMachine> {

    /**
     * 根据id获得虚拟机的Ip
     * @param id
     * @return
     */
    String getIp(String id);

    /**
     * 设备地图
     * @param id
     * @return
     */
    JSONObject getDeviceMapById(JSONArray nodes, JSONArray edges, int startX, int startY, String id);

    /**
     * 根据id获得设备树
     * @param id
     * @return
     */
    JSONObject getDeviceTreeById(String id);

    /**
     * 删除所有虚拟机
     * @return
     */
    int deleteAll();

    /**
     * 导入处理
     * @param list
     * @param ip
     * @return
     */
    List<MGlVirtualMachine> dealImportList(List<MGlVirtualMachine> list,String ip);

    /**
     * 获得所有的虚拟机
     * @return
     */
    List<MGlVirtualMachine> selectAll();

    /**
     * 添加群集虚拟机记录
     */
    void addNumberLog();
}
